//
//  BaseCellModel.h
//  GoldBook
//
//  Created by wmz on 2021/8/16.
//  Copyright © 2021 wmz. All rights reserved.
//

#import "BaseModel.h"

NS_ASSUME_NONNULL_BEGIN

typedef void (^GNCommonBlock)(NSString *tag);

@interface BaseCellModel : BaseModel
/// titile
@property (nonatomic,   copy, nullable) NSString *title;
/// titleWidth
@property (nonatomic,   assign) CGFloat titleWidth;
/// 图片文字
@property (nonatomic,   copy) NSString *imageTitle;
/// detail
@property (nonatomic,   copy) NSString *detail;
/// 图片
@property (nonatomic, strong,nullable) UIImage  *image;
/// 图片
@property (nonatomic, strong) UIImage  *selectImage;
/// 图片在左侧
@property (nonatomic, assign) BOOL   imageLeft;
/// 图片隐藏
@property (nonatomic, assign) BOOL   imageHide;
/// 图片size
@property (nonatomic, assign) CGSize imageSize;
/// itemSize
@property (nonatomic ,assign) CGSize itemSize;
/// width
@property (nonatomic, assign) CGFloat   width;
/// 隐藏线条
@property (nonatomic, assign) BOOL lineHidden;

@property (nonatomic, assign) BOOL history;
/// 行
@property (nonatomic, assign) NSInteger numOfLines;
/// status
@property (nonatomic,   copy) NSString *status;
/// titleFont
@property (nonatomic, strong) UIFont *titleFont;
/// url
@property (nonatomic,   copy) NSString *url;
/// index
@property (nonatomic, assign) NSInteger index;
/// 对应标志
@property (nonatomic,   copy) NSString *tag;
/// detailColor
@property (nonatomic, strong) UIColor *detailColor;

@property (nonatomic, strong) UIColor *titleColor;

@property (nonatomic, strong) UIColor *titleBackColor;

@property (nonatomic, strong) UIColor *randomColor;

@property (nonatomic, strong) UIFont *detailFont;

@property (nonatomic, strong) id data;

@property (nonatomic,   copy) GNCommonBlock block;

@property (nonatomic, assign) BOOL leftHigh;

@property (nonatomic, assign) BOOL rightHigh;

@property (nonatomic, assign) BOOL rightUserInable;

@property (nonatomic, assign) NSInteger row;

@property (nonatomic, assign) NSInteger column;

@property (nonatomic, assign) UIKeyboardType keyBoardType;

@property (nonatomic, assign) UIEdgeInsets insets;
/// itemHeight
@property (nonatomic,  assign) CGFloat itemHeight;

@property (nonatomic, assign) BOOL enable;

@property (nonatomic, copy) NSArray *otherSource;

+ (instancetype)initTitle:(nullable NSString*)title ;

- (instancetype)initTitle:(nullable NSString*)title image:(nullable UIImage*)image;

+ (instancetype)initTitle:(nullable NSString*)title image:(nullable UIImage*)image;

+ (instancetype)initTitle:(nullable NSString*)title image:(nullable UIImage*)image imageTitle:(NSString*)imageTitle;

- (instancetype)initTitle:(nullable NSString*)title detail:(nullable NSString*)detail;

- (instancetype)initTitle:(nullable NSString*)title image:(nullable UIImage*)image detail:(nullable NSString*)detail;

- (instancetype)initTitle:(nullable NSString*)title image:(nullable UIImage*)image detail:(nullable NSString*)detail imageTitle:(nullable NSString*)imageTitle;

+ (BaseCellModel*)xib:(NSString*)className;

+ (BaseCellModel*)nomal:(NSString*)className;

@end

NS_ASSUME_NONNULL_END
